home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-09-02 | 6.3 KB | 148 lines |
- 10 KEY OFF
- 20 WIDTH 80:CLS
- 30 PRINT :PRINT :PRINT :PRINT :PRINT
- 40 PRINT "***************************************************************************"
- 50 PRINT "* *"
- 60 PRINT "* SOFTBALL MANAGEMENT PROGRAM FOR THE IBM-PC AND COMPATIBLES *"
- 70 PRINT "* *"
- 80 PRINT "* COMPLETED APRIL 26 TH, 1985 *"
- 90 PRINT "* *"
- 100 PRINT "* REV .1 *"
- 110 PRINT "* *"
- 120 PRINT "* BY *"
- 130 PRINT "* *"
- 140 PRINT "* BILL McCALL *"
- 150 PRINT "* *"
- 160 PRINT "* OF *"
- 170 PRINT "* *"
- 180 PRINT "* COLUMBUS, OHIO *"
- 190 PRINT "* *"
- 200 PRINT "***************************************************************************"
- 210 PRINT :PRINT :PRINT :PRINT " PRESS ANY KEY TO CONTINUE"
- 220 LOGO$=INKEY$
- 230 IF LOGO$="" THEN 220
- 240 CLS:WIDTH 80
- 250 OPEN "softball.sco" AS #1 LEN=125
- 260 FIELD # 1, 25 AS PLAYER$, 25 AS ATBAT$, 25 AS HITS$,25 AS SINGLES$, 15 AS DOUBLES$,5 AS TRIPS$, 5 AS HOMER$
- 270 PRINT :PRINT "SELECT AN OPTION"
- 280 PRINT "----------------"
- 290 PRINT "1--add a player"
- 300 PRINT "2--CHANGE A PLAYER'S RECORD"
- 310 PRINT "3--LOOK AT PLAYER'S RECORD"
- 320 PRINT "4--INITIALIZE THE PLAYER FILE"
- 330 PRINT "5--LIST THE NUMBER OF ACTIVE PLAYERS"
- 340 PRINT "6--EXIT"
- 350 PRINT "7--LIST ALL RECORDS TO PRINTER"
- 360 PRINT :INPUT "YOUR CHOICE";CHOICE%
- 370 CLS
- 380 IF (CHOICE% < 1) OR (CHOICE% > 7) THEN GOTO 270
- 390 ON CHOICE% GOSUB 410,620,800,1040,1130,1250,1350
- 400 GOTO 270
- 410 'ADD RECORD
- 420 PRINT:INPUT "WHICH RECORD DO YOU WANT TO ADD (1-50)",PLAY.NO%
- 430 IF(PLAY.NO% < 1) OR (PLAY.NO% > 50) THEN GOTO 410
- 440 GET # 1, PLAY.NO%
- 450 IF ASC(PLAYER$) <> 255 THEN PRINT "THAT PLAYER ALREADY EXISTS.":RETURN
- 460 INPUT "INPUT NAME: ",IN.PLAYER$
- 470 INPUT "NUMBER OF AT BATS:",IN.ATBAT
- 480 IF IN.ATBAT > 0 THEN 520
- 490 CLS:PRINT "TRY AGAIN LATER, WHEN THIS PLAYER HAS AT LEAST ONE AT BAT."
- 500 FOR DELAY = 1 TO 2500:NEXT DELAY:CLS
- 510 GOTO 610
- 520 INPUT "NUMBER OF HITS:",IN.HITS
- 530 INPUT "NUMBER OF SINGLES :", IN.SINGLES
- 540 INPUT "NUMBER OF DOUBLES:",IN.DOUBLES
- 550 INPUT "NUMBER OF TRIPLES:",TRIPS
- 560 INPUT "NUMBER OF HOMERS:",IN.HOMER
- 570 LSET PLAYER$=IN.PLAYER$:LSET ATBAT$=MKS$(IN.ATBAT):LSET HITS$=MKS$(IN.HITS)
- 580 LSET SINGLES$=MKS$(IN.SINGLES):LSET DOUBLES$=MKS$(IN.DOUBLES):LSET TRIPS$=MKS$(IN.TRIPS)
- 590 LSET HOMER$=MKS$(IN.HOMER)
- 600 PUT # 1,PLAY.NO%
- 610 RETURN
- 620 'change
- 630 PRINT :INPUT "Which player number to you wish to change( 1-50):",PLAY.NO%
- 640 IF (PLAY.NO% < 1) OR (PLAY.NO% > 50) GOTO 620
- 650 GET # 1, PLAY.NO%
- 660 IF ASC(PLAYER$) = 255 THEN PRINT "THAT RECORD HAS NO VALUES":RETURN
- 670 PRINT "PRESS RETURN TO LEAVE VALUE THE SAME."
- 680 PRINT "NAME: "+ PLAYER$ +" ";:INPUT "",IN.PLAYER$: IF IN.PLAYER$="" THEN IN.PLAYER$=PLAYER$
- 690 PRINT "AT BATS: " + STR$(CVS(ATBAT$)) + " ";:INPUT "",IN.ATBAT: IF IN.BAT =0 THEN IN.ATBAT =CVS(ATBAT$)
- 700 PRINT "HITS :" + STR$(CVS(HITS$)) + " ";:INPUT "",IN.HITS: IF IN.HITS=0 THEN IN.HITS= CVS(HITS$)
- 710 PRINT "SINGLES: " + STR$(CVS(SINGLES$)) + " ";:INPUT "",IN.SINGLES:IF IN.SINGLES= 0 THEN IN.SINGLES=CVS(SINGLES$)
- 720 PRINT "DOUBLES :" + STR$(CVS(DOUBLES$)) + " ";:INPUT "",IN.DOUBLES: IF IN.DOUBLES = 0 THEN IN.DOUBLES = CVS(DOUBLES$)
- 730 PRINT "TRIPLES :" + STR$(CVS(TRIPS$)) + " ";:INPUT "",IN.TRIPS: IF IN.TRIPS =0 THEN IN.TRIPS=CVS(TRIPS$)
- 740 PRINT "HOME RUNS :" + STR$(CVS(HOMER$)) + " ";:INPUT "",IN.HOMER: IF IN.HOMER =0 THEN IN.HOMER=CVS(HOMER$)
- 750 LSET PLAYER$= IN.PLAYER$:LSET ATBAT$= MKS$(IN.ATBAT):LSET HITS$ = MKS$(IN.HITS)
- 760 LSET SINGLES$= MKS$(IN.SINGLES):LSET DOUBLES$= MKS$(IN.DOUBLES):LSET TRIPS$=MKS$(IN.TRIPS)
- 770 LSET HOMER$ = MKS$(IN.HOMER)
- 780 PUT # 1 ,PLAY.NO%
- 790 RETURN
- 800 'DISPLAY
- 810 LSET PLAYER$= MKS$(IN.PLAYER)
- 820 PRINT :INPUT "WHICH PLAYER DO YOU WISH TO DISPLAY (1-50)",PLAY.NO%
- 830 CLS
- 840 PRINT "DO YOU WANT SCREEN (S) OR PRINTER (P) OUTPUT ?"
- 850 MODE$=INKEY$
- 860 IF (MODE$= "S") OR (MODE$= "s") THEN GOTO 890
- 870 IF (MODE$= "P") OR (MODE$= "p") THEN GOTO 890
- 880 GOTO 850
- 890 CLS:IF (PLAY.NO% <1) OR (PLAY.NO% > 50) THEN GOTO 820
- 900 GET # 1 , PLAY.NO%
- 910 IF ASC(PLAYER$)=255 THEN PRINT "THAT PLAYER HAS NO RECORD.":RETURN
- 920 IF (MODE$ ="P") OR (MODE$= "p") THEN GOTO 1290
- 930 WIDTH 40
- 940 PRINT "NAME:";PLAYER$:PRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):PRINT "HITS: ";CVS(HITS$):PRINT "SINGLES:";CVS(SINGLES$)
- 950 PRINT "DOUBLES:";CVS(DOUBLES$):PRINT "TRIPLES:";CVS(TRIPS$):PRINT "HOME RUNS:"; CVS(HOMER$)
- 960 AVERAGE=CVS(HITS$)/CVS(ATBAT$)
- 970 AVERAGE= (INT(AVERAGE * 1000))/1000
- 980 PRINT "BATTING AVERAGE: ";AVERAGE
- 990 PRINT :PRINT :PRINT :PRINT " HIT ANY KEY TO CONTINUE....."
- 1000 Q$=INKEY$
- 1010 IF Q$="" THEN 1000
- 1020 WIDTH 80:CLS
- 1030 RETURN
- 1040 'INITIALIZE
- 1050 PRINT "ARE YOU SURE YOU WANT TO INITIALIZE?"
- 1055 PRINT "INITIALIZING WILL ERASE ALL EXISTING RECORDS!":FOR X=1 TO 5:BEEP:NEXT X
- 1060 INPUT "INITIALIZE (Y OR N)", INITYN$
- 1070 IF (INITYN$ <> "Y") AND (INITYN$ <> "y") THEN RETURN
- 1080 LSET PLAYER$= CHR$(255)
- 1090 FOR I%= 1 TO 50
- 1100 PUT #1,I%
- 1110 NEXT I%
- 1120 RETURN
- 1130 'DISPLAY
- 1140 CLS
- 1150 PRINT "ACTIVE RECORDS MARKED WITH AN *"
- 1160 PRINT " 1 2 3 4 5"
- 1170 PRINT "12345678901234567890123456789012345678901234567890"
- 1180 FOR I%= 1 TO 50
- 1190 GET #1,I%
- 1200 IF(ASC(PLAYER$)=255) THEN PRINT " "; ELSE PRINT "*";
- 1210 NEXT I%
- 1220 FOR DELAY= 1 TO 1000:NEXT DELAY
- 1230 CLS
- 1240 RETURN
- 1250 'QUIT
- 1260 CLOSE
- 1270 SYSTEM
- 1280 BAT= CVD(ATBAT$): HIT = CVD(HIT$)
- 1290 LPRINT "NAME ";PLAYER$:LPRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):LPRINT "HITS: ";CVS(HITS$):LPRINT "SINGLES:";CVS(SINGLES$)
- 1300 LPRINT "DOUBLES:";CVS(DOUBLES$):LPRINT "TRIPLES:";CVS(TRIPS$):LPRINT "HOME RUNS:"; CVS(HOMER$)
- 1310 AVERAGE=CVS(HITS$)/CVS(ATBAT$)
- 1320 AVERAGE= (INT(AVERAGE * 1000))/1000
- 1330 LPRINT "BATTING AVERAGE: ";AVERAGE
- 1340 GOTO 1030
- 1350 LSET PLAYER$= MKS$(IN.PLAYER)
- 1360 FOR PLAY.NO%= 1 TO 50
- 1370 GET # 1 , PLAY.NO%
- 1380 IF ASC(PLAYER$)=255 THEN 1450
- 1390 LPRINT "NAME ";PLAYER$:LPRINT "NUMBER OF AT BATS: ";CVS(ATBAT$):LPRINT "HITS: ";CVS(HITS$):LPRINT "SINGLES:";CVS(SINGLES$)
- 1400 LPRINT "DOUBLES:";CVS(DOUBLES$):LPRINT "TRIPLES:";CVS(TRIPS$):LPRINT "HOME RUNS:"; CVS(HOMER$)
- 1410 AVERAGE=CVS(HITS$)/CVS(ATBAT$)
- 1420 AVERAGE= (INT(AVERAGE * 1000))/1000
- 1430 LPRINT "BATTING AVERAGE: ";AVERAGE
- 1440 LPRINT "---------------------":LPRINT :LPRINT
- 1450 NEXT PLAY.NO%
- 1460 CLS:GOTO 270
-